package TouristManagement;

/**
 * Interface definition : Site
 * 
 * @author OpenORB Compiler
 */
public interface SiteOperations
{
    /**
     * Read accessor for idSite attribute
     * @return the attribute value
     */
    public short idSite();

    /**
     * Operation checkIn
     */
    public short checkIn(short touristCardNumber)
        throws TouristManagement.CheckInNotValid;

    /**
     * Operation checkOut
     */
    public TouristManagement.VisitManagement checkOut(short touristCardNumber);

    /**
     * Operation consultLocalStat
     */
    public TouristManagement.LocalStat consultLocalStat();

    /**
     * Operation getAdviceAverage
     */
    public TouristManagement.Advice getAdviceAverage();

    /**
     * Operation verifyVisit
     */
    public boolean verifyVisit(short touristCardNumber);

    /**
     * Operation getIdSite
     */
    public short[] getIdSite();

    /**
     * Operation getHoraireOuverture
     */
    public TouristManagement.Hours getHoraireOuverture();

    /**
     * Operation getHoraireFermeture
     */
    public TouristManagement.Hours getHoraireFermeture();

    /**
     * Operation getNbVisiteurActuel
     */
    public short getNbVisiteurActuel();

    /**
     * Operation getNbVisiteurMaximal
     */
    public short getNbVisiteurMaximal();

    /**
     * Operation getdurationAverage
     */
    public short getdurationAverage();

    /**
     * Operation getdurationVisitMax
     */
    public short getdurationVisitMax();

    /**
     * Operation getdurationVisitMin
     */
    public short getdurationVisitMin();

    /**
     * Operation getNomSite
     */
    public String getNomSite();

    /**
     * Operation getCoordsGPS
     */
    public TouristManagement.CoordsGPS getCoordsGPS();

    /**
     * Operation getAffluenceQuotidienne
     */
    public short getAffluenceQuotidienne();

}
